package com.qujia.markert.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qujia.common.utils.LocalDateUtils;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @description sale_activity,限时销售活动表
 * @date 2023-12-20
 */
@Setter
@Getter
public class SaleActivity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 油企id
     */
    private Long enterpriseId;

    /**
     * 活动名称
     */
    @TableField(whereStrategy = FieldStrategy.NOT_EMPTY)
    private String activityName;

    /**
     * 活动是否启用，0-未启用，1-启用
     */
    private Integer activityEnable;

    /**
     * 商品类型，0-优惠劵
     */
    private Integer productType;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = LocalDateUtils.DATETIME_14_FORMAT)
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = LocalDateUtils.DATETIME_14_FORMAT)
    private LocalDateTime endTime;

    /**
     * 实际库存
     */
    private Integer stock;

    /**
     * 原始库存，添加或更新是填写的库存
     */
    private Integer originStock;

    /**
     * 售价
     */
    private BigDecimal price;

    /**
     * 原价
     */
    private BigDecimal originalPrice;

    /**
     * 每个用户最大购买次数
     */
    private Integer maxBuyNum;

    /**
     * 活动描述
     */
    private String description;

    /**
     * 商品图片
     */
    private String productImg;

    /**
     * create_time
     */
    @JsonFormat(pattern = LocalDateUtils.DATETIME_14_FORMAT)
    private LocalDateTime createTime;

    /**
     * create_by
     */
    private String createBy;

    /**
     * update_time
     */
    @JsonFormat(pattern = LocalDateUtils.DATETIME_14_FORMAT)
    private LocalDateTime updateTime;

    /**
     * update_by
     */
    private String updateBy;

    /**
     * 0-未删除，1-删除
     */
    @TableLogic(value = "0",delval = "1")
    private Integer delFlg;

    /**
     * 活动状态，0-未开始，1-进行中，2-已结束
     */
    @TableField(exist = false)
    private Integer activityStatus;
}